SiSoft Sandra - The Diagnostic Tool, Q & A - Memory Benchmark

This document provides some frequently asked questions about SiSoft Sandra. Please read the Help File as well!

Q: What is STREAM?
A:
STREAM is a popular memory bandwidth benchmark that has been used on personal computers to super computers. It measures sustained memory bandwidth not burst or peak. Therefore, the results may be lower than those of other benchmarks. Sandra is based on this benchmark.

Q: How is Sandra's Memory Benchmark different from STREAM?
A:
STREAM 2.0 uses static data (about 12M) - Sandra uses dynamic data (around 40-60% of physical system RAM). This means that on computers with fast memory Sandra may yield lower results than STREAM. It's not feasible to make Sandra use static RAM - since Sandra is much more than a benchmark. Also Sandra uses special code to get accurate results.

Q: Why does the rating change between runs?
A:
Make sure you have enough RAM (16MB or more) and only Sandra is running. If you see the hard disk light up then your computer is swapping. Accurate results can only be obtained if the computer is not swapping.

Q: How much of the original source ended up in Sandra?
A:
Sandra shares no code with the original except the loops (which have been converted to assembler). It was not feasible to try to use more due to the very different nature of the two programs.

Q: So is Sandra compatible with STREAM?
A:
Well… No. While Sandra uses the same code loops the buffers are different. Also Windows is a different operating system and results gathered by a DOS program do not quite tally with those gathered by a Windows program. The results should reflect a comparable difference between different computers but are not comparable themselves.

Q: Why is the Sandra memory index so low compared to other benchmarks?
A:
Most other benchmarks just read or write to memory without performing any data manipulation. In real-life, no program works this way - why read something if you don't actually use it? Sandra creates 3 large arrays and performs various simple arithmetical computations on them - thus reading and writing memory. We feel this is a more objective test which measures the real throughput of the system. By using large blocks of memory (8MB+), the system cache(s) are swamped, thus the actual memory throughput is measured. Of course, the cache does have an effect - unless it is turned off.

If you compare Sandra's results with other benchmarks' (e.g. WinTune 98) large blocks copy speed, you'll find the results are comparative.

Q: My AMD K6/K6-2 or Cyrix 6x86/MX/MII CPU gets a very low memory index. Why?
A:
These CPUs have large and fast L1 (internal) caches but the L2 caches are on the mainboard and run at FSB speed, unlike PII/Celeron where the L2 cache runs at 1/2 and full CPU speed. In most cases the caches also run in Write-Through mode, which slows down writes to memory appreciably when there are many such requests.

For some reason these processors seem to be less effective than Intel's design at the same speed when accessing memory. A bottleneck limits the memory throughput to a certain level, making higher speed processors less effective. While our initial tests using floating point instructions seemed to point the finger to the non-pipelined FPU, our current tests using integer instructions return the same result.

The benchmark is not optimised for Intel processors in any way.

Copyright & Contact Information